Method and system for customized initialization of digital host device

ABSTRACT

A method and system for customizing an interactive cable host initialization process for a cable host device, is provided. One implementation involves triggering an interactive cable host initialization process for a cable host device, detecting a initialization stage event for the cable host device and providing initialization stage event notification, and dynamically receiving content determined by a Multiple Service Operator (MSO) cable headend based on the initialization stage event notification over a network.

FIELD OF THE INVENTION

The present invention relates generally to digital cable services, andin particular, to interactive technology for digital cable services overa cable video network.

BACKGROUND OF THE INVENTION

The OpenCable initiative, managed by CableLabs, began in 1997 with thegoal of helping the cable industry deploy interactive cable services andcreate competition in the host device marketplace. OpenCable ApplicationProtocol (OCAP) is a middleware software layer intended to enabledevelopment of interactive television services and applications that runsuccessfully on any cable television (TV) system in North America,independent of set-top boxes or television receiver hardware oroperating system software choices. OCAP enables manufacturers of set-topboxes, televisions, and other devices to provide to consumers devicesthat support services delivered by cable operators to consumerspreviously only available via lease Set-Top-Boxes from cable operators.

A boot-up process for an OCAP TV involves a long process (approximately15 to 45 minutes) having multiple stages, wherein each stage may havedifferent requirements depending on Multiple Service Operator (MSO)needs. MSO is an operator of multiple cable television systems networkor headend. Due to the lengthy process, there is ongoing research intomethods for display of installation status and progress information onthe TV screen during boot-up to avoid a blank TV screen.

There are two types of boot processes defined in the OCAP specification.One boot process involves a Security Element, and another boot processdoes not involve a Security Element. A Security Element, as currentlydefined in the current OpenCable specification, is a CableCARD device.However, a TV without the CableCARD will not function fully as a cableMSO host, and OCAP will have limited use. A boot-up process withCableCARD present is a primary scenario which involves a first time TVboot-up in an OCAP cable network environment.

Typical boot-up stages with CableCARD present in the TV may include:Power_applied, Hardware/OS_Initialization,Initialization_of_OCAP_environment,CableCard/Host_Interface_Initialization, Code_download, Load/Parse_XAIT,Configure_environment, Launch_Initial_Monitor_Application,Launch_Unbound_application, and Begin_Normal_Operation. Depending ondifferent stage events, current TV boot-up scheme display informationpre-stored in the TV for display during boot-up.

The preparation and storage of these messages is a burden for TVmanufacturers and is not flexible because of the difficulty to update inthe future. Further, the messages cannot be customized to meet differentMSO requirements. Thus, existing OCAP TV boot-up implementations aretightly bound to MSO-specific needs and are highly MSO-dependent.Customization to each MSO/cable network causes not only additionalburden for TV manufacturers but also inflexibility to customers and MSOsas well.

BRIEF SUMMARY OF THE INVENTION

A method and system for customized initialization of digital hostdevice, is provided. One embodiment comprises a customized interactiveinitialization process including triggering an interactive hostinitialization process for the digital host device, wherein theinitialization process including multiple stages. The customizedinteractive initialization process further includes detecting aninitialization stage event for the host device, and providing aninitialization stage event notification, and dynamically receivingcontent determined by a service provider, over a network based on theinitialization stage event notification.

Another embodiment comprises customized interactive initializationinvolving an initialization process for a host device including adigital cable receiver, wherein cable services are delivered to thedigital cable receiver over a cable network. In one implementation, amethod of customizing an interactive cable host initialization processfor a cable host device, comprises triggering an interactive cable hostinitialization process for a cable host device, detecting aninitialization stage event, and providing an initialization stage eventnotification. Upon notification of a specified initialization stageevent, triggering dynamic delivery of content determined by an MultipleService Operator (MSO) headend for the initialization event. Then,dynamically receiving content determined by the Multiple ServiceOperator (MSO) headend over a network based on the boot stage eventnotification. The customized initialization may further comprisepresenting content received based on each initialization stage eventnotification, wherein received content is dynamically displayed atdifferent initialization stages.

Customized initialization may further comprise maintaining a predefinedset of initialization stage events and associated content determined bythe service provider; upon notification of a specified initializationstage event, selecting an associated content; dynamically receiving theselected content from a content source over a network; and presentingthe received content via the cable host receiver device for theinitialization event.

These and other features, aspects and advantages of the presentinvention will become understood with reference to the followingdescription, appended claims and accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of a system implementing dynamiccustomization of initialization process for a cable device host,according to an embodiment of the invention.

FIG. 2 shows a block diagram detailing an example implementation of thesystem of FIG. 1, according to an embodiment of the invention.

FIG. 3 shows a flowchart for dynamic customization of initializationprocess for an OCAP host, according to an embodiment of the invention.

FIG. 4 shows an example flowchart of a typical initialization processfor an OCAP host.

FIG. 5 shows an event diagram for dynamic customization ofinitialization process for an OCAP host, according to an embodiment ofthe invention.

DETAILED DESCRIPTION OF THE INVENTION

A method and system for customized initialization of digital hostdevices, is provided. One embodiment comprises a customized interactiveinitialization process including triggering an interactive hostinitialization process for the digital host device, wherein theinitialization process including multiple stages. The customizedinteractive initialization process further includes detecting aninitialization stage event for the host device, and providing aninitialization stage event notification, and dynamically receivingcontent determined by a service provider, over a network based on theinitialization stage event notification. The content may be delivered bysaid service provider itself, or by another service provider.

One implementation comprises customized interactive initializationinvolving a boot-up process for an electronic host device including adigital cable receiver, wherein cable services are delivered to thedigital cable receiver over a cable network. The customized interactiveinitialization may comprise other processes which are enabled ascustomized interactive processes according to embodiments of the presentinvention. The host device may comprise consumer electronics devices(e.g., TVs, Set-Top-Boxes).

The customized initialization is applicable to OpenCable ApplicationPlatform (OCAP) and to tru2way technology (based on OCAP), and inparticular, to improving efficiency of tru2way digital cable hostdevices. Such host devices may comprise digital cable receivers, such astelevisions (TVs) or Set-Top-Boxes (STBs). In this description, theterms tru2way and OCAP refer to the same technology and are usedinterchangeably.

Referring to FIG. 1, a system 10 according to an embodiment of theinvention implements customized initialization providing an interactiveboot-up process for initialization of a cable host device 13. The cablehost device 13 comprises a cable host receiver device 13A, whereincustomized initialization is enabled by a customization system 12. Thesystem 10 further includes a communication line for communication withan Multiple Service Operator (MSO) cable headend 18.

A method of customizing an interactive cable host boot process for thecable host device comprises: triggering an interactive cable hostboot-up process for the cable host device, detecting a boot-up stageevent, and providing event notification. Upon notification of aspecified boot-up event, triggering dynamic delivery of content from acontent source determined by the MSO headend for the boot-up event.Then, dynamically receiving content determined by the MSO headend basedon the boot stage event notification. The customized initializationfurther comprises presenting content received based on each eventnotification, wherein received content is dynamically displayed atdifferent boot-up stages.

The content may comprise video, still images, text, graphics, etc.,which may be delivered to the cable host device at various stages of theboot-up process. Delivering the content may comprise channel force tune,internet connections or other pipes such as DOCSIS Set-top Gateway(DSG), to retrieve such content. The delivery network may include one ormore of a cable network 18A, Internet 18B, external sources 18C (e.g.,data bases, servers, etc.), satellite-based 18D. The content may bedelivered by the MSO headend itself, or by another service provider(e.g., Internet 18B, external sources 18C). Further, although in theexamples below the MSO 18 is provided as determining content for eachinitialization stage, the invention is further applicable to otherentities 18B, 18C, 18D, performing the role of the MSO 18.

In one embodiment, the customization system 12 comprises a triggermodule 11 and an event detection and notification module 14. Thecustomization system 12 customizes an interactive cable host bootprocess for the cable host device 13. In one embodiment, the triggermodule 11 triggers an interactive cable host boot-up process for thecable host device 13. The detection and notification module 14 detects aboot-up stage event and provides event notification. The trigger module11 obtains tuning information based on the boot stage eventnotification. The trigger module 11 then performs channel tuning basedon the tuning information to display video content from a MultipleService Operator (MSO) headend over a cable network to the cable hostdevice 13 based on each boot-up stage event notification. As such, videocontent is dynamically displayed at different boot-up stages.

Specifically, the event detection and notification module 14 detectsOCAP boot-up process stage events (boot-up stage events or boot-upevents) and notifies the trigger module 11 of such events. Upondetection of a specified boot-up stage event notification, the triggermodule 11 initiates the download process of MSO-specific contentassociated with the boot-up stage event. A boot-up stage event may comefrom multiple sources such as hardware, operating system, OCAP stack,CableCARD, XAIT signaling (or AIT if necessary), and applications (e.g.,an invocation of a function/method call by an application may initiatean event notification). Trigger of audio/video display can also beperformed automatically by the trigger module 11 or performed manuallyby a technician.

FIG. 2 shows a block diagram of a system 10A providing a detailedexample implementation of the system of FIG. 1, according to anembodiment of the invention. The cable host device 13A comprises a cableTV host such as an OCAP TV host. The cable services are delivered over acable network, allowing TV manufacturers to provide customized OCAPinitialization processes in a Multiple Service Operator(MSO)-independent manner. This enables dynamic field modifiability foreach MSO cable network. Although this example is directed to an OCAP TVhost, the invention is equally applicable to other digital cablereceivers. As used herein, initialization and boot-up are equivalent andinclude installation, set-up, boot sequence, reboot, etc.

The example customized initialization for a OCAP TV host 13A enables MSOindependence by detection of boot-up stage event notification signals ateach boot-up stage and enabling display of dynamic (e.g., real-time)information stream(s), such as video, from the MSO 18 over a network,during the OCAP TV boot-up procedure. This is instead of relying onpre-stored MSO-specific graphic images in the OCAP TV host 13A. Theframework provides each MSO the ability to dynamically control the saidinformation stream and content depending on the OCAP TV boot-up stage.As a result, each MSO may dynamically modify the displayed informationduring the OCAP TV boot-up process.

The framework allows an OCAP TV boot-up process to be MSO-independentand supports TV viewers to be aware of the boot-up process progressingin the background defined and customized by each MSO.

The example customized initialization allows OCAP TV boot-up processesto be MSO-independent while allowing TV viewers to be aware of theboot-up (including installation, set up, boot-up, reboot, etc.). This isalso useful with television networking introduction, channelinformation, advertisement or for other purposes, during the lengthyboot-up process. As such, the customized initialization providesenhanced and customized user experience and flexibility for OCAP TVboot-up process, while eliminating the burden on a TV manufacturer toprepare customized pre-stored messages and graphics for each MSOnetwork.

In FIG. 2, the cable host device 13 further comprises an MSO securitymodule 13B (e.g., CableCARD) coupled to the OCAP TV. The host device 13is connected to the MSO headend 18 using said communication link (e.g.,via a cable video network). The security module 13B allows viewing ofcable television channels without a set-top box. The security module 13Bmay comprise a plug-in card (e.g., PCMCIA card for the TV) whichprovides conditional access and copy protection functions that ensurecontent only available to subscribing users.

In the example shown in FIG. 2, the trigger module 11 is implemented inthe MSO security module 13B, and the event detection and notificationmodule 14 is implemented in the OCAP TV 13A. However, in anotherembodiment of the invention, the trigger module 11 may be implemented inthe OCAP TV 13A, and the security module 13B may be absent. Yet, inanother embodiment of the invention, the trigger module 11 may includetwo sub-modules, one sub-module implemented in the OCAP TV 13A and theother sub-module in the security module 13B.

The MSO security module 13B further includes a processor 15, a memorydevice 16 and a communication module 17 for communication with an MSOheadend 18. The OCAP TV 13A further includes a processor 19, a memorydevice 20, a display module 21 and a TV channel tuner 22.

The boot-up process is managed by the customization system 12 whichmanages a process to display MSO-specific content such as videostream(s) on the TV display during the OCAP TV boot-up (or set up)sequences. FIG. 3 shows a process 30 for host boot-up procedureaccording to an embodiment of the customization system 12, comprising:

-   -   Block 31: Begin host boot-up.    -   Block 32: Detect boot-up stage event and notify.    -   Block 33: Trigger content delivery from MSO to host, based on        the event notification.    -   Block 34: Dynamically direct host device to MSO selected content        based on the event.    -   Block 35: Determine if boot-up complete? If not, proceed to        block 32 to detect another boot-up stage event, otherwise end.

In one example, the trigger module 11 of the customization system 12initiates an OCAP (e.g., tru2way) boot-up process according to anembodiment of the invention. The video stream may be associated with acertain stage within the boot-up process in an asynchronous orsynchronous manner. Each stage may be signaled by the event detectionand notification module 14 and detected by the trigger module 11. Uponnotification of a specified event, the trigger module 11 triggers anautomated display of video stream(s) received from the MSO headend 18via a communication line 18A, on the display 21.

A predefined set of initialization events and associated MSO content(e.g., MSO cable channels) are maintained. The event detection andnotification module 14 detects such predefined set of events. Upon aspecified event notification, the trigger module 11 initiates thedisplay of the content (e.g., video stream(s)) from the MSO 18, such asby force tuning the host 13 (e.g., OCAP TV host 13A) to a channelaccording to each event.

The event signal may be generated from multiple sources such as:hardware, operating system 23 (FIG. 2), OCAP stack 24 (FIG. 2), extendedapplication information table (XAIT) standard signaling (or AIT ifnecessary) based on the OCAP, and applications (e.g., invocation of afunction/process call by an application may initiate an eventnotification).

A different MSO-generated video stream may be associated to each hostboot-up event, and upon detection of that event (XAIT signaling), theOCAP TV host 13A is dynamically forced to a linear channel or video ondemand (VOD) type channel, provided by an MSO. For example, the triggermodule 11 force tunes the OCAP TV host 13A to an MSO selected channelvia tuner 22, to display the MSO-sourced audio/video content on thedisplay 21.

The host device 13A may also be force tuned to a channel such as videoon demand (VOD) type channel by an MSO field technician as well. TheVOD-type channel allows synchronization of the boot process amongmultiple hosts when they boot at different times.

In an asynchronous approach, after two-way communication between the MSOheadend 18 and the host 13 has been established, the VOD-type videostream is approximately synchronized with the current host boot-upprocess. In a synchronous approach, the VOD-type video stream isprecisely synchronized with the current host boot-up process, whereinthe host directly or indirectly provides boot-up event notifications tothe headend 18.

Table 1 below illustrates an example of events at different stages ofOCAP TV boot-up process.

TABLE 1 boot-up stages and events Step # Stage Possible Event/Module 41Power Applied 42 Hardware/OS Initialization 43 Search Card mode 44Search DSG/OOB channel 45 Initial CH map data retrieval OOB SI manager46 All type of CH map data OOB SI manager retrieving 47 CH map completeOOB SI manager 48 XAIT downloading MSO security module 49 2 WayEstablished eCM, MSO security module or DSG M/W 50 Host IP retrieval MSOsecurity module 51 SI download OOB SI manager 52 Initial Monitordownload XAIT with Priority 255 53 Initial Monitor verification 54Initial Monitor loading 55 OCAP app download XAIT with Priority 100~25456 OCAP app verification 57 OCAP loading 58 VOD Direct Tune

FIG. 4 shows an example boot-up process 40 based on Table 1, accordingto an embodiment of the invention. In block 41, the OCAP TV 13A (FIG. 2)is powered on or a reboot is initiated via a software application. Inblock 42, a low level initialization of the hardware and operatingsystem of OCAP TV host 13A takes place. In block 43, during MSO securitymodule initialization, the trigger module 11 proactively sends asetDSGmode( )Application Protocol Data Unit (APDU) to the OCAP TV host13A to indicate that the trigger module 11 desires, for example, aMSO-specified linear channel. In block 44, searching DOCSIS Set-topGateway (DSG)/Out Of Band (OOB) channel is performed. During blocks41-44, the OCAP TV host 13A may not be able to receive any video streamfrom MSO due to lack of any Channel (CH) map information.

During blocks 45-47, an event for each host boot-up stage is utilized inOCAP OOB Service Information (SI) manager at the OCAP TV host 13A sinceall the traffic passes through the OOB SI manager. In block 48, an eventcan be implemented in the trigger module 11 when the OCAP TV host 13Areceives a XAIT table from OOB or DSG broadcast tunnel from the MSOheadend 18 (i.e., a stream of packets sent from a Cable ModemTermination System (CMTS) to a cable modem embedded in a set-top box orreceiver). CMTS is a router which interfaces between Ethernet networksand radio frequency (RF) network connections to cable modems. An eventfor block 49 may involve the OCAP TV host 13A receiving aREGISTRATION_RESPONSE message from CMTS to embedded cable modem (eCM).Alternatively, an event for each boot-up stage may be utilized in thetrigger module 11 or DSG middleware layer.

In block 50, an event for Host IP retrieval may exist in the triggermodule 11, and for SI download in block 51 is OOB SI manager. In blocks52-54, a Monitor application comprising a special unbound applicationwith the highest possible priority is downloaded to the OCAP TV host 13Afrom the MSO headend 18. During this download in the boot-up stage(signaled through the XAIT event with Priority 255), the MSO headend 18may transmit a video stream for display by the OCAP TV host 13A afterXAIT signaling. During the download of the unbound applications in theboot-up process, signaled through the XAIT with Priority 100˜254, theMSO headend 18 may transmit a video stream after XAIT signaling fordisplay by the OCAP TV host 13A. The video stream may be stored in thehost 13A locally to avoid duplicative downloading of the same videostream. In block 55, application verification is performed. In block 56,OCAP stack is loaded, and in block 57 VOD direct tuning is performed. Byusing video stream(s) from each MSO, the streamed content is drivendynamically (e.g., in real time) by the MSO and as such customized foreach MSO.

The customization process may force tune the OCAP TV host 13A todifferent channel(s) and display MSO-specific video stream(s) on the TVdisplay 21 during the OCAP TV boot-up (e.g., set up, installation)sequences. This may be achieved by employing channel tuning and genericdiagnostic protocols 25 (FIG. 2) of the security module 13B, todynamically tune to different channels in different boot-up stages fordisplaying suitable MSO generated audio/video content (e.g., forinstallation guidance or other purposes). In that case, at the beginningof the boot-up process, when security module 13B is initiated, thetrigger module 11 sends a Generic Diagnostic request to the OCAP TV host13A, as currently defined in the CableCARD specification, but with anewly defined OCAP_bootup diagnostic identifier to request theOCAP_bootup_status according to the invention. The event detection andnotification module 14 then responds with one or more boot-up statusreports (OCAP_bootup_status) according to the invention, to provideinformation about the current boot-up stage in progress at the OCAP TVhost 13A.

When the trigger module 11 receives a status report from the eventdetection and notification module 14, it initiates a channel force tuneto the OCAP TV host 13A, with necessary tuning information such aschannel frequency or a source ID, as defined in the Host Controlprotocols of the CableCARD specification. The OCAP TV host 13A thentunes to the selected channel via tuner 22 and displays the MSO-sourcedaudio/video content on the display 21 to the TV viewer. The tunedchannel preferably provides suitable content associated with the boot-upstage in progress. The event detection and notification module 14continues to provide the OCAP_bootup_status reports to the triggermodule 11 as boot-up stages progress, wherein the trigger module 11directs the OCAP TV host 13A to tune to different channels accordinglyfor streaming MSO content suitable to the boot-up stage to the OCAP TVhost 13A for display.

By using video stream(s) from each MSO, the streamed content is drivendynamically (e.g., in real time) by the MSO and as such customized foreach MSO. The video stream is dynamically provided by the MSO 18 and maybe associated with a certain boot-up stage within the TV boot-up processin an asynchronous or synchronous manner.

In general, there may be multiple stages within the OCAP TV boot-upprocess, and an event may be defined for each stage. The trigger module11 is configured to detect boot-up stage changes based on notificationsfrom the detection and notification module 14 during the host boot-upprocess. The trigger module 11 then force-tunes the OCAP TV host 13A toMSO-specific content via the tuner 22 for display on the display 21.

According to CCIF 2.0 Section 9.2, resources allow encapsulatingfunctionalities between the OCAP TV host 13A and the security module13B. An embodiment of the invention may be implemented bymodification/extension to one or more of such resources specified inOC-SP-CCIF2.0-116-081114. For the trigger module 11 to receive boot-upstage changes during the OCAP TV 13A boot-up process, a GenericDiagnostic Support Resource (9.16 of CCIF) may be used to request thatthe host 13A perform a diagnostic operation and report the status (e.g.,boot-up process stage information) back to the trigger module 11. TheGeneric Diagnostic Support Resource comprises 2 APDUs as defined inTables 2 and 3 below.

TABLE 2 Generic Diagnostic Support Resource Resource Mode Class TypeVersion Identifier (hex) Generic Diagnostic S-Mode 260 1 2 0x01040042Support Generic Diagnostic M-Mode 260 2 1 0x01040081 Support

TABLE 3 Generic Diagnostic Support APDUs Direction APDU Name Tag ValueResource Host

 CableCARD diagnostic_req( ) 0x9FDF00 Generic Diagnostic ← Supportdiagnostic_cnf( ) 0x9FDF01 Generic Diagnostic → Support

FIG. 5 illustrates example steps for the event detection andnotification module 14 reporting boot-up stages and the trigger module11 force tuning different channels streaming from the MSO 18 based onthe boot-up stages, according to an embodiment of the invention. Nowalso referring to the information exchange event diagram 70 in FIG. 5 inconjunction with FIG. 2, the trigger module 11 may initiate a request of“OCAP Bootup Status” using diagnostic_req( ) APDU, and the eventdetection and notification module 14 of the OCAP TV 13A performs adiagnostic and responds to the trigger module 11 with status information(e.g., change in the boot-up stage) using a diagnostic_cnf( ). Indiagnostic_req( ) APDU, the trigger module 11 uses one of the reserveddiagnostic IDs as defined in Table 4 below to request a “OCAP boot-upstatus” report from the OCAP TV 13A.

TABLE 4 Diagnostic IDs Diagnostic IDs Value Host memory allocation 0x00Application version number 0x01 Firmware version 0x02 MAC address 0x03 .. . . . . Host Information 0x0E OCAP Bootup Status 0x0F Reserved0xA0-0xFF

Upon receiving the diagnostic_req( ) APDU from the trigger module 11,the event detection and notification module 14 replies with adiagnostic_cnf( ) APDU as defined in Table 5 below for S-Mode, and Table6 below for M-Mode, whenever the boot-up stage changes.

TABLE 5 S-Mode - diagnostic_cnf APDU Syntax (Type 1, Version 2) SyntaxNo. of Bits Mnemonic diagnostic_cnf( ) {  diagnostic_cnf_tag 24 uimsbf length_field( )  number_of_diag 8 uimsbf  for (i=o; i<number_of_diag;i++) {   diagnostic_id 8 uimsbf   status_field 8 uimsbf   if(status_field == 0x00) {    if (diagnostic_id == 0x00) {    memory_report( )    }    if (diagnostic_id == 0x01) {    software_ver_report( )    }    if (diagnostic_id == 0x02) {    firmware_ver_report( )    }    if (diagnostic_id == 0x03) {    MAC_address_report( )    }        ...    if (diagnostic_id == 0x0E){     host_information_report( )    }    if (diagnostic_id == 0x0F) {    OCAP_bootup_report( )  } }

TABLE 6 M-Mode - diagnostic_cnf APDU Syntax (Type 2, Version 1) SyntaxNo. of Bits Mnemonic diagnostic_cnf( ) {  diagnostic_cnf_tag 24 uimsbf length_field( )  number_of_diag 8 uimsbf  for (i=o; i<number_of_diag;i++) {   diagnostic_id 8 uimsbf   ltsid 8 uimsbf   status_field 8 uimsbf  if (status_field == 0x00) {    if (diagnostic_id == 0x00) {    memory_report( )    }    if (diagnostic_id == 0x01) {    software_ver_report( )    }    if (diagnostic_id == 0x02) {    firmware_ver_report( )    }    if (diagnostic_id == 0x03) {    MAC_address_report( )    }         ...    if (diagnostic_id == 0x0E){     host_information_report ( )    }    if (diagnostic_id == 0x0F) {    OCAP_bootup_report( )    }   }  } }

When there are multiple instances of a diagnostic report, the eventdetection and notification module 14 sends each report with the samediagnostic ID in the diagnostic_cnf( ) APDU. In diagnostic_cnf( ),commonly recognized boot-up stage codes are used between the MSO 18 andTV manufacturer. For example, a set of numbers representing differentboot-up stages may be added as shown in Table 7 below for OCAP boot-upstage report.

TABLE 7 OCAP_bootup_report Syntax No. of Bits MnemonicOCAP_bootup_report( ) {   bootup_stage 16 uimsbf   reserved 16 uimsbf }bootup_stage Designates the stage of the HOST during the OCAP bootupprocess. The stages of bootup with or without CableCARD are defined insection 20.2.1 of OCAP 1.1.1 [OCAP]. For example, the bootup stages maybe defined as the following. reserved Reserved for future use. 0x00Power Applied or Reboot 0x01 Hardware and Operating SystemInitialization 0x02 Optional: Manufacturer Configuration 0x03Initialization of OCAP environment 0x04 CableCARD/Host InterfaceInitialization 0x05 Code Download 0x06 Load and Parse the XAIT 0x07Launch the Initial Monitor Application 0x08 Launch Auto-start UnboundApplications 0x09 Configure Environments 0x0A Begin Normal Operation

Thus, in response to a OCAP_bootup_status request in the diagnostic_req()APDU, the event detection and notification module 14 may reply with aOCAP_bootup_report as defined in Table 2 in the diagnostic_cnf( ) APDU.

Alternatively, only the number of OCAP boot-up stages may be provided inthe specification. For example, the numbers and the correspondingdefinition of the OCAP boot-up stages may be specified internally byMSOs and TV manufacturers depending on their requirements and devicecharacteristics.

For the trigger module 11 to force-tune the OCAP TV 13A to MSO-specificcontent for display on the display 21, a Host Control Resource(specified in sections 9.8.5 and 9.8.6 of CCIF) may be used to forcetune inband tuner 22 of the OCAP TV 13A. The trigger module 11 sends aninband_tune_req( ) to the OCAP TV 13A to tune the OCAP TV 13A to apre-determined inband channel. The trigger module 11 provides inbandtuning information to the OCAP TV 13A using a source_id or frequency(with modulation type) for the tuner 22 to tune to. The OCAP TV 13Aresponds to an inband_tune_req( ) by sending back an inband_tuning_cnf() returning with a tune_status (e.g., Tuning accepted). The source_ididentifies the MPEG programming source associated with the virtualchannel on a system. In this context, a source is one specific source ofvideo, text, data or audio programming. To reference virtual channels tothe program guide database, each program is associated with a uniquevalue of source_id.

Before use of source_id is practicable (e.g., due to lack of ServiceInformation (SI) or channel map), a frequency tune type can be used(i.e., tune_type=0x01 from inband_tune_req( )). Therefore, the triggermodule 11 may direct the OCAP TV host 13A to force tune to an analogchannel using the frequency information. Tuning to a virtual channel mayalso be possible at this stage if the tuning frequency is provided and adefault program number is known to both the security module and thehost. Only a frequency value is needed to tune to an analog channelsince an analog channel is only associated with the frequency.

After completion of SI download to the OCAP TV host 13A (e.g., stage 11of the OCAP bootup process), the system may use source ID (i.e.,source_id) tune type (i.e., tune_type=0x00, inband_tune_req( )). Uponreceiving the source ID from the trigger module 11, the OCAP TV host 13Acan determine the frequency and program number from SI by associatingthe source ID with the frequency and program number. As noted, here maybe two implementations for dynamically displaying video/audio from theMSO 18: an asynchronous approach and a synchronous approach as describedherein. In either case, an event is associated to each OCAP boot-upstage, enabling the MSO security module 13B to initiate the force tunevia the trigger module 11, upon detection of the event sent by the OCAPTV host 13A.

The invention provides enhanced and customized user experience andflexibility for OCAP TV boot-up process, and eliminates the burden on aTV manufacturer to prepare for customized messages and graphics for eachMSO network.

The description may disclose several preferred embodiments forcustomized initialization of host devices in a digital cable network, aswell as operation and/or component parts thereof. While the followingdescription will be described in terms of customized initialization ofhost devices in a cable network for clarity and placing the invention incontext, it should be kept in mind that the teachings herein may havebroad application to all types of systems, devices and applications, andincludes, for example, host devices and networks/systems that aresatellite-based, Internet-based, etc. As such, the invention is notlimited to cable networks/systems or cable TV networks/systems. Further,the invention is applicable for customized initialization of hostdevices in information networks that provide one or more of audio,video, data, images, graphics, data streams, and the like, to hostdevices. In embodiments of the invention, the network (e.g., FIG. 1) maycomprise a wired network (e.g., cable network), a wireless network(e.g., satellite-based), or a combination thereof.

As is known to those skilled in the art, the aforementioned examplearchitectures described above, according to the present invention, canbe implemented in many ways, such as program instructions for executionby a processor, as software modules, microcode, as computer programproduct on computer readable media, as logic circuits, as applicationspecific integrated circuits, as firmware, etc. Further, embodiments ofthe invention can take the form of an entirely hardware embodiment, anentirely software embodiment or an embodiment containing both hardwareand software elements.

The terms “computer program medium,” “computer usable medium,” “computerreadable medium”, and “computer program product,” are used to generallyrefer to media such as main memory, secondary memory, removable storagedrive, a hard disk installed in hard disk drive, and signals. Thesecomputer program products are means for providing software to thecomputer system. The computer readable medium allows the computer systemto read data, instructions, messages or message packets, and othercomputer readable information from the computer readable medium. Thecomputer readable medium, for example, may include non-volatile memory,such as a floppy disk, ROM, flash memory, disk drive memory, a CD-ROM,and other permanent storage. It is useful, for example, for transportinginformation, such as data and computer instructions, between computersystems. Furthermore, the computer readable medium may comprise computerreadable information in a transitory state medium such as a network linkand/or a network interface, including a wired network or a wirelessnetwork that allow a computer to read such computer readableinformation. Computer programs (also called computer control logic) arestored in main memory and/or secondary memory. Computer programs mayalso be received via a communications interface. Such computer programs,when executed, enable the computer system to perform the features of thepresent invention as discussed herein. In particular, the computerprograms, when executed, enable the processor multi-core processor toperform the features of the computer system. Accordingly, such computerprograms represent controllers of the computer system.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof. Unless otherwise specifically definedherein, all terms are to be given their broadest possible interpretationincluding meanings implied from the specification as well as meaningsunderstood by those skilled in the art and/or as defined indictionaries, treatises, etc.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

Though the present invention has been described with reference tocertain versions thereof, however, other versions are possible.Therefore, the spirit and scope of the appended claims should not belimited to the description of the preferred versions contained herein.

1. A method of customizing an initialization process for a digital hostdevice, comprising: triggering an interactive host initializationprocess for the digital host device, the initialization processincluding multiple stages; detecting an initialization stage event forthe host device, and providing an initialization stage eventnotification; and dynamically receiving content determined by a serviceprovider, over a network based on the initialization stage eventnotification.
 2. The method of claim 1 wherein: the interactiveinitialization process further comprises an interactive cable hostinitialization process for the host device, the host device comprising adigital cable host device and the service provider comprising a MultipleService Operator (MSO) headend; triggering an interactive hostinitialization process further includes triggering an interactive cablehost initialization process for the digital cable host device; detectingan initialization stage event further includes detecting ainitialization stage event for the cable host device, and providing aninitialization stage event notification; and dynamically receivingcontent further includes dynamically receiving content determined by theMSO cable headend over a network based on the initialization stage eventnotification.
 3. The method of claim 2 further comprising: uponnotification of a specified initialization stage event, triggeringdynamic delivery of content determined by the MSO headend for theinitialization stage event; and presenting the received content for eachinitialization stage via the cable host device.
 4. The method of claim 3further comprising: maintaining a predefined set of initialization stageevents and associated content determined by the MSO headend; uponnotification of a specified initialization stage event, selecting anassociated content; dynamically receiving the selected content from acontent source over a network; and presenting the received content viathe cable host receiver device for the initialization event.
 5. Themethod of claim 4 further comprising delivering content to the cablehost device from the MSO headend via a cable video network based on eachinitialization stage event notification.
 6. The method of claim 5wherein the interactive cable host initialization process comprises OpenCable Application Protocol (OCAP) initialization process and the cablehost device comprises an OCAP cable host receiver device.
 7. The methodof claim 6 wherein delivering content comprises dynamically tuning thecable host receiver device to a cable channel from the MSO headend basedon each initialization stage event notification.
 8. The method of claim7 wherein dynamically delivering content from the MSO headend furthercomprises approximately synchronizing the content with the cable hostreceiver device initialization stage.
 9. The method of claim 8 furthercomprising triggering an interactive synchronous initialization processby establishing two way communication between the MSO headend and thecable host receiver device.
 10. The method of claim 9 whereindynamically delivering content from the MSO headend further comprisesprecisely synchronizing the content with a cable host receiver deviceinitialization stage wherein the cable host receiver device providesinitialization stage event notifications to the MSO headend.
 11. Amethod of customizing an interactive cable host initialization processfor a cable host device, comprising: providing a trigger moduleconfigured for triggering an interactive cable host initializationprocess for a digital cable host device; providing a detection moduleconfigured for detecting a initialization stage event for the cable hostdevice and providing an initialization stage event notification to thetrigger module; upon notification of a specified initialization stageevent, the trigger module triggering dynamic delivery of selectedcontent determined by an Multiple Service Operator (MSO) headend for theinitialization stage event; the cable host device dynamically receivingthe selected content from a content source over a network based on theinitialization stage event notification.
 12. The method of claim 11further comprising: the trigger module maintaining a predefined set ofinitialization stage events and associated content determined by the MSOheadend; upon notification of a specified initialization stage event,the trigger module triggering dynamic delivery of associated content forthe initialization stage event; the cable host device dynamicallyreceiving said associated content from a content source over a network;and presenting the received content via the cable host device.
 13. Themethod of claim 11 further comprising: providing a security modulecomprising said trigger module; providing a cable host device comprisingsaid detection module; and coupling the security module to the cablehost device.
 14. A system for customizing an interactive cable hostinitialization process for a cable host device, comprising: a triggermodule configured for triggering an interactive digital cable hostinitialization process for a digital cable host device; and a detectionmodule configured for detecting a initialization stage event for thecable host device and providing initialization stage event notificationto the trigger module; wherein the trigger module is further configuredsuch that upon notification of a specified initialization stage event,the trigger module triggers dynamic delivery of content determined by aMultiple Service Operator (MSO) headend for the initialization stageevent, to the cable host device over a network.
 15. The system of claim14 wherein: the trigger module is further configured to maintain apredefined set of initialization stage events and associated contentdetermined by the MSO headend, such that upon notification of aspecified initialization stage event, the trigger module selects theassociated content for the initialization stage event; and the cablehost device is configured to dynamically receive the selected contentfrom a content source over a network.
 16. The system of claim 15 whereinthe cable host device receives the selected content from the MSO headendvia a cable video network based on each initialization stage eventnotification.
 17. The system of claim 16 wherein the interactive cablehost initialization process comprises a tru2way initialization processand the cable host device comprises a tru2way cable host receiverdevice.
 18. The system of claim 17 wherein the interactive cable hostinitialization process comprises Open Cable Application Protocol (OCAP)initialization process and the cable host device comprises an OCAP cablehost receiver device.
 19. The system of claim 18 wherein the cable hostreceiver device is configured to dynamically receive content by: thetrigger module dynamically tuning the cable host receiver device to acable channel from the MSO headend based on each initialization stageevent notification.
 20. The system of claim 19 wherein content deliveryfrom the MSO headend further comprises approximately synchronizing thecontent with the cable host receiver device initialization stage. 21.The system of claim 20 wherein the trigger module is further configuredfor triggering an interactive synchronous initialization process byestablishing two way communication between the MSO headend and the cablehost receiver device.
 22. The system of claim 21 wherein contentdelivery from the MSO headend further comprises precisely synchronizingthe content with the cable host receiver device initialization stagewherein the cable host device provides initialization stage eventnotifications to the MSO headend.
 23. The system of claim 18 wherein thecable host device comprises a cable television receiver.
 24. The systemof claim 23 wherein the cable host device comprises a set-top-box. 25.The system of claim 14 wherein: the trigger module is a component of asecurity module; and the detection module is a component of the cablehost device; wherein the security module allows viewing of cabletelevision channels without a set-top box.
 26. A system for customizingan interactive cable host initialization process for a digital cablehost device, comprising: an Multiple Service Operator (MSO) headend; adigital cable host device; a trigger module configured for triggering aninteractive digital cable host initialization process for the digitalcable host device; and a detection module configured for detecting aninitialization stage event for the cable host device and providinginitialization stage event notification to the trigger module; whereinthe trigger module is further configured such that upon notification ofa specified initialization stage event, the trigger module triggersdynamic delivery of content determined by the MSO headend for theinitialization stage event, to the cable host device over a network. 27.The system of claim 26 wherein the trigger module and the detectionmodule are components of the digital cable host device.
 28. The systemof claim 26 wherein: the trigger module is a component of a securitymodule; and the detection module is a component of the digital cablehost device; wherein the security module allows viewing of cabletelevision channels without a set-top box.
 29. A method of customizingan initialization process for a host device, comprising: determiningcontent for initialization stages of an initialization process for ahost device, the initialization process comprising multipleinitialization stage events; dynamically delivering content from aMultiple Service Operator (MSO) headend to the host device based oninitialization stage events over a cable network.
 30. The method ofclaim 29 wherein the initialization process comprises: triggering aninteractive host initialization process for the host device; detectingan initialization stage event for the host device, and providing aninitialization stage event notification; and dynamically receivingcontent determined by the MSO headend, over the cable network based onthe initialization stage event notification.
 31. A method of customizingan initialization process for a digital host device, comprising: ainteractive initialization process by a digital host device, theinteractive initialization process comprising: triggering an interactivehost initialization process for the digital host device, theinitialization process including multiple stages; detecting aninitialization stage event for the host device, and providing aninitialization stage event notification; and dynamically receivingcontent determined by a service provider, over a network based on theinitialization stage event notification.